package com.wgy.day31字节流.字节输出流;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Created by pc on 2020/12/3 20:30
 * Description: LearningJava
 */
/*
Java.io.OutputStream:字节输出流.  此抽象类是表示字节输出流的所有类的超类
 定义了所有子类共性的方法:
  void close():关闭此输出流并释放与该流关联的所有系统资源
  void flush():刷新从输出流并强制任何缓冲的输出字节被写出
  void write(byte[] b) :将b.length字节从指定的字节数组中写入此输出流
  void write(byte[] b,int off,int len):将指定的字节数组写入len字节,从偏移量off开始输出到此输出流
  abstract void write (int b):将指定的字节输出流

Java.io.FileOutputStream extends OutputStream

FileOutputStream:文件字节输出流
          作用:把内存中的数据写入到硬盘的文件中

       构造方法:FileOutputStream(String name):创建一个向具有指定名称的文件中写入数据的文件输出流
              FileOutputStream(File file):创建一个向指定File对象表示的文件中写入数据的文件输出流
              参数:写入数据的目的地
                  String name:目的地是一个文件的路径
                  File file:  目的地是一个文件
    构造方法作用: 1.创建FileOutputStream 对象
                2.会根据构造方法中传递的文件/文件路径,创建一个空的文件(如果传递的路径已经真实存在,会直接使用覆盖重写文件中的内容)
                3.会把FileOutputStream 对象指向创建好的文件

           注意:此构造方法声明抛出了异常,我们使用的时候要么继续声明抛出要么try...catch

   写入数据的原理: java程序->JVM(java虚拟机)->OS(操作系统)->OS调用写数据的方法->把数据写入到文件中

字节输出流的使用步骤:1.创建一个FileOutputStream对象,构造方法中传递写入数据的目的地
                 2.调用FileOutputStream对象中的方法write,把数据写入到文件中
                 3.释放资源(流使用会占用一定的内存,使用完毕后要把内存清空,提高程序的效率)


*/
public class Demo01OutputStream {
    public static void main(String[] args) throws IOException {
        //1.创建一个FileOutputStream对象,构造方法中传递写入数据的目的地
        FileOutputStream fos=new FileOutputStream("D:\\小云\\abc\\b\\b.txt");
        //2.调用FileOutputStream对象中的方法write,把数据写入到文件中
        fos.write(97);
        //3.释放资源(流使用会占用一定的内存,使用完毕后要把内存清空,提高程序的效率)
        fos.close();
    }


}
